বিটওয়াইজ অপারেটর এবং অ্যাসাইনমেন্ট অপারেটর

অপারেটর এবং এক্সপ্রেশন - কম্পিউটার প্রোগ্রামিং (Computer Programming) - Computer Science

397

বিটওয়াইজ অপারেটর এবং অ্যাসাইনমেন্ট অপারেটর প্রোগ্রামিংয়ের দুটি ভিন্ন ধরনের অপারেটর, যা বিভিন্ন ধরনের কাজ সম্পাদন করতে ব্যবহৃত হয়। বিটওয়াইজ অপারেটর মূলত বাইনারি স্তরে কাজ করে, যেখানে অ্যাসাইনমেন্ট অপারেটর মান নির্ধারণ বা মান পরিবর্তনের জন্য ব্যবহৃত হয়।


বিটওয়াইজ অপারেটর (Bitwise Operators)

বিটওয়াইজ অপারেটর মূলত বাইনারি স্তরে কাজ করে, অর্থাৎ এটি প্রতিটি সংখ্যাকে বিট আকারে ভেঙে দেয় এবং প্রতিটি বিটের উপর কাজ করে। বিটওয়াইজ অপারেটর সাধারণত সংখ্যা সংশোধন, ইমেজ প্রসেসিং, ক্রিপ্টোগ্রাফি ইত্যাদিতে ব্যবহৃত হয়।

বিটওয়াইজ অপারেটরের প্রকারভেদ

& (AND):

  • দুই বিটের মধ্যে উভয়ই 1 হলে ফলাফল 1 হয়, অন্যথায় 0 হয়।
  • উদাহরণ: 5 & 3 (৫ এর বাইনারি 0101 এবং ৩ এর 0011) হলে ফলাফল হবে 0001, অর্থাৎ 1

| (OR):

  • দুই বিটের মধ্যে অন্তত একটি 1 হলে ফলাফল 1 হয়, অন্যথায় 0 হয়।
  • উদাহরণ: 5 | 3 হলে ফলাফল হবে 0111, অর্থাৎ 7

^ (XOR):

  • দুই বিটের একটি 1 এবং অন্যটি 0 হলে ফলাফল 1 হয়, অন্যথায় 0
  • উদাহরণ: 5 ^ 3 হলে ফলাফল হবে 0110, অর্থাৎ 6

~ (NOT):

  • প্রতিটি বিট উল্টে দেয়, অর্থাৎ 1 কে 0 এবং 0 কে 1 করে।
  • উদাহরণ: ~5 হলে ফলাফল হবে -6 (সাইনড দুই-এর কমপ্লিমেন্টে)।

<< (Left Shift):

  • প্রতিটি বিটকে নির্দিষ্ট সংখ্যক স্থানে বাঁ দিকে সরায়। প্রতিটি স্থান সরানোর ফলে সংখ্যাটি 2 দ্বারা গুণ হয়।
  • উদাহরণ: 5 << 1 (বাঁ দিকে ১ বার সরানো) হলে ফলাফল হবে 10

>> (Right Shift):

  • প্রতিটি বিটকে নির্দিষ্ট সংখ্যক স্থানে ডানে সরায়। প্রতিটি স্থান সরানোর ফলে সংখ্যাটি 2 দ্বারা ভাগ হয়।
  • উদাহরণ: 5 >> 1 (ডানে ১ বার সরানো) হলে ফলাফল হবে 2

অ্যাসাইনমেন্ট অপারেটর (Assignment Operators)

অ্যাসাইনমেন্ট অপারেটর সাধারণত একটি ভেরিয়েবলে মান নির্ধারণ করতে ব্যবহৃত হয়। অ্যাসাইনমেন্ট অপারেটরগুলো মাধ্যমে ভেরিয়েবলের মান নির্ধারণ করা বা বিদ্যমান মানে নির্দিষ্ট পরিবর্তন করা সম্ভব।

অ্যাসাইনমেন্ট অপারেটরের প্রকারভেদ

= (Simple Assignment):

  • একটি ভেরিয়েবলে সরাসরি মান প্রদান করে।
  • উদাহরণ: int a = 5;

+= (Add and Assignment):

  • ভেরিয়েবলের বিদ্যমান মানের সাথে নতুন মান যোগ করে এবং সেটি ভেরিয়েবলে সংরক্ষণ করে।
  • উদাহরণ: a += 3; (যদি a এর মান 5 থাকে, তবে এখন a হবে 8)

-= (Subtract and Assignment):

  • ভেরিয়েবলের বিদ্যমান মান থেকে নির্দিষ্ট মান বিয়োগ করে এবং সেটি ভেরিয়েবলে সংরক্ষণ করে।
  • উদাহরণ: a -= 2; (যদি a এর মান 8 থাকে, তবে এখন a হবে 6)

*= (Multiply and Assignment):

  • ভেরিয়েবলের বিদ্যমান মানের সাথে নির্দিষ্ট মান গুণ করে এবং সেটি ভেরিয়েবলে সংরক্ষণ করে।
  • উদাহরণ: a *= 2; (যদি a এর মান 6 থাকে, তবে এখন a হবে 12)

/= (Divide and Assignment):

  • ভেরিয়েবলের বিদ্যমান মান নির্দিষ্ট মান দিয়ে ভাগ করে এবং সেটি ভেরিয়েবলে সংরক্ষণ করে।
  • উদাহরণ: a /= 3; (যদি a এর মান 12 থাকে, তবে এখন a হবে 4)

%= (Modulus and Assignment):

  • ভেরিয়েবলের বিদ্যমান মানের ভাগশেষ বের করে এবং সেটি ভেরিয়েবলে সংরক্ষণ করে।
  • উদাহরণ: a %= 3; (যদি a এর মান 4 থাকে, তবে এখন a হবে 1)

বিটওয়াইজ এবং অ্যাসাইনমেন্ট অপারেটরের সারসংক্ষেপ

অপারেটরনামকাজ
&বিটওয়াইজ ANDপ্রতিটি বিটের মধ্যে AND করে।
``বিটওয়াইজ OR
^বিটওয়াইজ XORপ্রতিটি বিটের মধ্যে XOR করে।
~বিটওয়াইজ NOTপ্রতিটি বিট উল্টে দেয়।
<<লেফট শিফটবাঁ দিকে বিট সরিয়ে সংখ্যাটিকে গুণ করে।
>>রাইট শিফটডানে বিট সরিয়ে সংখ্যাটিকে ভাগ করে।
=এসাইনমেন্টমান সেট করে।
+=যোগ এবং এসাইনমেন্টবিদ্যমান মানের সাথে যোগ করে সেটি সংরক্ষণ করে।
-=বিয়োগ এবং এসাইনমেন্টবিদ্যমান মান থেকে বিয়োগ করে সেটি সংরক্ষণ করে।
*=গুণ এবং এসাইনমেন্টবিদ্যমান মানের সাথে গুণ করে সেটি সংরক্ষণ করে।
/=ভাগ এবং এসাইনমেন্টবিদ্যমান মান ভাগ করে সেটি সংরক্ষণ করে।
%=মডুলাস এবং এসাইনমেন্টভাগশেষ বের করে সেটি সংরক্ষণ করে।

উপসংহার

বিটওয়াইজ অপারেটর বিট স্তরে কাজ করার জন্য কার্যকর, যা সংখ্যা সংশোধন, ক্রিপ্টোগ্রাফি ইত্যাদিতে ব্যবহৃত হয়। অ্যাসাইনমেন্ট অপারেটর ভেরিয়েবলের মান নির্ধারণ ও পরিবর্তনের জন্য ব্যবহৃত হয়, যা প্রোগ্রামিংয়ে অনেকটাই সহজ ও সময় সাশ্রয়ী করে।

Content added By
Promotion

Are you sure to start over?

Loading...